Adaptive Bitrate (ABR) Streaming is a technique used in streaming multimedia over computer networks that works by detecting a user's bandwidth and central processing unit (CPU) capacity in real time and adjusting the quality of a video stream accordingly. It uses an encoder that can encode a single source audio video (AV) file at multiple bit rates. The player client switches between streaming the different encodings depending on available resources.
One example of an ABR streaming technology is HTTP Live Streaming, an HTTP-based media streaming communications protocol implemented by Apple Inc. It works by breaking the overall stream into a sequence of small HTTP-based media file downloads, each media file download containing one short chunk of an overall potentially unbounded transport stream. As the stream is played, the client may select from a number of different alternate streams containing the same material encoded at a variety of data rates, allowing the streaming session to adapt to the available data rate. At the start of the streaming session, the client downloads an extended M3U playlist (a type of index file) containing references to the individual media files for the various sub-streams which are available.